package cn.com.frame.util;

import org.apache.commons.lang3.StringUtils;

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class StringRexUtil {

    /**
     * 正则表达式匹配两个指定字符串中间的内容
     * @param soap
     * @return
     */
    public static List<String> getSubUtil(String soap, String rgex){
        List<String> list = new ArrayList<String>();
        Pattern pattern = Pattern.compile(rgex);// 匹配的模式
        Matcher m = pattern.matcher(soap);
        int i = 1;
        while (m.find()) {
            list.add(m.group(i));
            i++;
        }
        return list;
    }
    /**
     * 返回单个字符串，若匹配到多个的话就返回第一个，方法与getSubUtil一样
     * @param soap
     * @param rgex
     * @return
     */
    public static String getSubUtilSimple(String soap,String rgex){
        if (StringUtils.isEmpty(soap)) return  "";
        Pattern pattern = Pattern.compile(rgex);// 匹配的模式
        Matcher m = pattern.matcher(soap);
        while(m.find()){
            return m.group(1);
        }
        return "";
    }
    public static void main(String[] args) {
        String s = "【战地吉普旗舰店男士外套2017秋季新款秋装运动上衣青年休闲夹克衫】http://v.cvz5.com/h.GxDsox 点击链接，再选择浏览器打开；或复制这条信息￥y8MY05fHgaQ￥后打开 手机淘宝 ";
        String r = "(￥(.*?)￥)";
        System.out.println(getSubUtil(s,r));
        System.out.println(getSubUtilSimple(s, r));

    }
}
